---
sidebar_position: 3.2
description: 客户端负载均衡的工具
---

import Highlight from "@site/src/components/Highlight";

# Ribbon
## Ribbon是什么？
* Spring Cloud Ribbon 是基于Netflix Ribbon实现的一套<Highlight color="#1877F2">客户端负载均衡的工具</Highlight>。
* Ribbon的主要功能是提供客户端软件的负载均衡算法，将Netflix的中间层服务连接在一起。Ribbon的客户端组件提供一系列完整的配置项如：连接超时、重试等等。简单的说，就是在配置文件中列出
LoadBalancer（简称LB：负载均衡）后面所有的机器，Ribbon会自动的帮你基于某种规则（如简单轮询，随机连接等）去连接这些机器。
## Ribbon的用途
* LB，即负载均衡（LoadBalance），在微服务或分布式集群中经常用的一种应用。
* 负载均衡简单来说就是将用户的请求根据规格分配到多个服务上，从而达到系统的高可用（HA）。
* 常见的负载均衡软件有Nginx、LVS等。
* Dubbo、SpringCloud中均提供了负载均衡，<Highlight color="#1877F2">SpringCloud的负载均衡算法可以自动义</Highlight>。
### 负载均衡分类
#### 集中式LB
即在服务的消费方和提供方之间使用独立的LB设备，如Nginx（反向代理服务器）,由该设施负责把访问请求通过某种策略转发至服务的提供方。
#### 进程式LB
* 将LB的逻辑集成到消费方，消费方从服务注册中心获知那些地址可用，然后自己再从这些地址中选出一个合适的服务器。
* <Highlight color="#1877F2">Ribbon就属于进程式LB</Highlight>它只是一个类库，集成于消费方进程，消费方通过它来获取到服务提供方的地址。
